x86 mca: Fix the vMCE address translation for HVM guest.
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 29 Jan 2010 06:49:13 +0000 (06:49 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 29 Jan 2010 06:49:13 +0000 (06:49 +0000)
Fix address translation when we inject a virtual MCE to HVM guest.

Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
xen/arch/x86/cpu/mcheck/mce_intel.c

index 1943ec9f632dca49d43c1c806f5cf224932b1053..e8f95e20541b0d92fd9da141adb48c699d8d6565 100644 (file)
@@ -371,8 +371,8 @@ static void intel_UCR_handler(struct mcinfo_bank *bank,
 
                           gfn =
                               mfn_to_gmfn(d, ((bank->mc_addr) >> PAGE_SHIFT));
-                          bank->mc_addr =
-                              gfn << PAGE_SHIFT | (bank->mc_addr & PAGE_MASK);
+                          bank->mc_addr =  gfn << PAGE_SHIFT |
+                                        (bank->mc_addr & (PAGE_SIZE -1 ));
                           if (fill_vmsr_data(bank, global->mc_gstatus) == -1)
                           {
                               mce_printk(MCE_QUIET, "Fill vMCE# data for DOM%d "